// 定义插件，默认调用install方法
// 默认形参是Vue
export default {
  install(Vue, para1, para2) {
    console.log(para1, para2);
    console.log("@@@install");

    // 全局过滤器
    Vue.filter("mySlice", (item) => {
      return item.slice(0, 4);
    });

    // 定义全局指令
    // 等同于v-bind的功能
    Vue.directive("fbind", {
      bind(element, binding) {
        element.value = binding.value;
      },
      inserted(element) {
        element.focus();
      },
      //指令所在的模板被重新解析时
      update(element, binding) {
        element.value = binding.value;
      },
    });

    // 定义混入
    Vue.mixin({
      data() {
        return {
          x: 1,
          y: 200,
        };
      },
    });

    // 在vue的原型上添加方法
    Vue.prototype.hello = () => {
      alert(" plugings prototype alert");
    };
  },
};
